HUAWEI:BGP Best Path Selection Algorithm

本文介绍一下华为BGP的13条选路原则,附上示例。

Prefer-value (越大越好)

首选值,数值越大越优先,本地有效。

Local-pref (越大越好)

本地优先级,数值越大越优先,可传递给IBGP邻居,如果没有配置默认为100

本地始发

本地生成路由优先,aggregate手工生成聚合路由>summary automatic自动聚合路由>network 命令宣告路由>import-route引入的路由。

如上图,如果R1,R2都将10.1.12.0/24宣告进BGP的话,R2能收到R1发过来的10.1.12.0的路由,prefer-value和local-preference都一样,但是本地发起的优先,所以bgp表中自己宣告的路由为最优路径。

As-path (越短越好)

As-path最短的路由(单个AS计数为1)。AS_CONFED_SEQUENCE和AS_CONFED_SET(联盟内部AS号)不计入as-path长度。AS_SET长度计为1。(此条选路法则可以用命令忽略: bestroute as-path-ignore)

上图左侧路径路由传递过来as-path为200, 100 长度为2,右侧传递过来as-path为400, 长度为1。优选右侧传递过来的路由为最优路径。

Origin(i>e>?)

IGP>EGP>Incomplete

Med (越小越好)

数值越小越优先,默认为0。(bestroute med-none-as-maximum可以将med默认值改到最大4294967295)默认只比较as-path中最近一个as号相同的路由,否则忽略此条。

compare-different-as-med命令后,强制比较不同as的路由med。

bestroute med-confederation,只比较as-path只包含联盟内部as且最近一个联盟内部as号相同的路由的med。

deterministic-med,按相同最近AS号的先比,消除按接收顺序两两比较med对比较结果的影响。

as-path		med type(第7条选路法则)router id
200 100 	0 	IBGP 	1.1.1.1 		(配了之后)Best
200 300 	100 EBGP 	5.5.5.5
200 100 	100 EBGP 	2.2.2.2			没配deterministic-med之前最优

EBGP>IBGP

ebgp>ibgp>localcross路由>remotecross路由

IGP cost for next-hop (越小越好)

下一跳igp的metric最小的路由

是否支持负载均衡(maximumload-balance)

前8条一样,且as-path完全相同(都是聚合路由或都不是),如果配置了多路径负载均衡的话,进行负载均衡(这里默认IBGP和EBGP路由都参与负载均衡)

Cluster-list (越短越好)

每一个cluster-id计数为1,长度最小的优先。

Originator-id (越小越好)

as外部路由,originator-id就是边界路由器5和6,这里虽然邻居R3路由器ID小,但是由于originator-id是4那边小,所以选择右侧过来的路由为最优。

Router-id(越小越好)

Peer ip address (越小越好)

如图,下方路由器与上面路由器的2个地址10.1.12.2和10.1.22.2分别建立2个邻居,2个链路igp开销也相同,由于这2个邻居其实是同一个路由器,所以路由器id一样,至此前面所有的法则都无法打破僵局,最终只能根据建邻居地址越低越优先,选择了10.1.12.2的邻居关系发来的BGP路由。

           

No comments

Comments feed for this article

Reply

Your email address will not be published. Required fields are marked *